/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controladores;

import BaseDatos.GestorAlumnosBD;
import Modelo.Alumno;
import java.util.ArrayList;

/**
 *
 * @author Marko
 */
public class GestorAlumnos {

////////////////////////////////////////////////////////////////////////////////
// Constructores
////////////////////////////////////////////////////////////////////////////////

    public GestorAlumnos() {

    }

////////////////////////////////////////////////////////////////////////////////
// Interfaz de la clase
////////////////////////////////////////////////////////////////////////////////

    /**
     * manda la peticion de registro para el nuevo alumno
     * @param _nuevoAlumno 
     */
    public void agregar(Alumno _nuevoAlumno) {
        GestorAlumnosBD administradorAlumnosBD = new GestorAlumnosBD();
        administradorAlumnosBD.registrar(_nuevoAlumno);
    }
    
    /**
     * solicita la actualizacion de los datos del alumno
     * @param _alumno 
     */
    public void actualizar(Alumno _alumno){
        GestorAlumnosBD administradorAlumnosBD = new GestorAlumnosBD();
        administradorAlumnosBD.actualizar(_alumno);
    }
    
    /**
     * solicita la consulta de los alumnos que coincidan con la matricula
     * @param _matricula
     * @return devuelve los datos del alumno solicitado
     */
    public ArrayList<Alumno> buscarListaAlumnos(String _matricula){
        GestorAlumnosBD administradorAlumnosBD = new GestorAlumnosBD();
        return administradorAlumnosBD.buscarAlumnos(_matricula);
    }
    
    /**
     * Solicita la consulta del alumno con la matricula ingresada
     * @param _matricula
     * @return devuelve los datos del alumno con la matricula ingresada
     */
    public Alumno buscarAlumno(String _matricula){
        return obtenerAlumno(_matricula);
    }
    
    /**
     * Revisa que los datos del alumno esten completos
     * @param _matricula
     * @return Devuelve verdadero si y solo si toda la informacion del alumno esta completa
     */
    public boolean datosAlumnoCompletos(String _matricula){
        Alumno alumno = obtenerAlumno(_matricula);
        
        boolean informacionCompleta = true;
        
        String direccion = alumno.obtenerDireccion();
        if(!direccion.equals("")){
            return informacionCompleta;
        }else{
            return !informacionCompleta;
        }
    }
    
////////////////////////////////////////////////////////////////////////////////
// Metodos Privados
////////////////////////////////////////////////////////////////////////////////
    
    /**
     * Solicita la busqueda del alumno con la matricula especificada
     * @param _matricula
     * @return Devuelve el alumno encontrado
     */
    private Alumno obtenerAlumno (String _matricula){
        GestorAlumnosBD administradorAlumnosBd = new GestorAlumnosBD();
        return administradorAlumnosBd.buscarAlumno(_matricula);
    }
    
////////////////////////////////////////////////////////////////////////////////
// Declaracion de Variables
////////////////////////////////////////////////////////////////////////////////
}
